cargo.git
10 years agoSpell “GitHub” consistently
Ivan Ukhov [Wed, 18 Nov 2015 12:48:15 +0000 (13:48 +0100)]
Spell “GitHub” consistently

10 years agoFix a typo
Ivan Ukhov [Wed, 18 Nov 2015 12:39:45 +0000 (13:39 +0100)]
Fix a typo

10 years agoUse “etc.” consistently
Ivan Ukhov [Wed, 18 Nov 2015 12:38:19 +0000 (13:38 +0100)]
Use “etc.” consistently

10 years agoUse proper quotation marks
Ivan Ukhov [Wed, 18 Nov 2015 12:19:13 +0000 (13:19 +0100)]
Use proper quotation marks

10 years agoAuto merge of #2131 - alexcrichton:cargo-clean, r=brson
bors [Sun, 15 Nov 2015 21:02:59 +0000 (21:02 +0000)]
Auto merge of #2131 - alexcrichton:cargo-clean, r=brson

* Clean out both host/target platforms if any are available.
* Clean out build script output.
* Add a --release flag to also be able to clean out release folder
* Be sure to clean out benchmarks, tests, etc.
* Cleaning out registry packages no longer panics

Closes #2121

10 years agoFix a number of bugs with cargo clean
Alex Crichton [Tue, 10 Nov 2015 17:41:06 +0000 (09:41 -0800)]
Fix a number of bugs with cargo clean

* Clean out both host/target platforms if any are available.
* Clean out build script output.
* Add a --release flag to also be able to clean out release folder
* Be sure to clean out benchmarks, tests, etc.
* Cleaning out registry packages no longer panics

Closes #2121

10 years agoAuto merge of #2136 - gkoz:empty_fingerprint, r=alexcrichton
bors [Thu, 12 Nov 2015 00:12:01 +0000 (00:12 +0000)]
Auto merge of #2136 - gkoz:empty_fingerprint, r=alexcrichton

None

10 years agoFix #1504. Don't blow up on empty fingerprint files
Gleb Kozyrev [Wed, 11 Nov 2015 23:56:21 +0000 (01:56 +0200)]
Fix #1504. Don't blow up on empty fingerprint files

10 years agoAuto merge of #2135 - alexcrichton:bundle-crate-in-registry, r=huonw
bors [Wed, 11 Nov 2015 02:25:31 +0000 (02:25 +0000)]
Auto merge of #2135 - alexcrichton:bundle-crate-in-registry, r=huonw

Even if multiple ones are included, don't recurse!

Closes #2132

10 years agoOnly read one package from registry tarballs
Alex Crichton [Wed, 11 Nov 2015 02:17:23 +0000 (18:17 -0800)]
Only read one package from registry tarballs

Even if multiple ones are included, don't recurse!

Closes #2132

10 years agoRefactor testing the registry
Alex Crichton [Wed, 11 Nov 2015 02:08:06 +0000 (18:08 -0800)]
Refactor testing the registry

Use a builder to publish packages instead of a one-off function with many
variants, should provide a much finer grained level of configurability for
future test cases against the registry.

10 years agoAuto merge of #2128 - k0pernicus:patch-1, r=alexcrichton
bors [Tue, 10 Nov 2015 21:20:13 +0000 (21:20 +0000)]
Auto merge of #2128 - k0pernicus:patch-1, r=alexcrichton

Add a comment to know how to pass arguments via Cargo

10 years agoUpdate guide.md
WebTogz [Tue, 10 Nov 2015 18:28:47 +0000 (19:28 +0100)]
Update guide.md

Modification of the second sentence, to explain how to pass flags with Cargo

10 years agoAuto merge of #2126 - johshoff:default_dependency_header, r=alexcrichton
bors [Tue, 10 Nov 2015 07:16:25 +0000 (07:16 +0000)]
Auto merge of #2126 - johshoff:default_dependency_header, r=alexcrichton

Almost any project beyond "hello world" will have some dependencies.
Including the `[dependencies]` header by default makes this slightly
simpler.

For new users of the language, this can potentially save some
frustration since crates.io currently does not mention the header, just
the line that goes beneath it.

For all users, this makes adding the first dependency to a project less
of a special case than to subsequent dependencies.

10 years agoUpdate guide.md
WebTogz [Tue, 10 Nov 2015 07:10:06 +0000 (08:10 +0100)]
Update guide.md

Correctness of the previous modification, regarding how to pass arguments via Cargo

10 years agoAuto merge of #2129 - alexcrichton:cargo-rustdoc, r=brson
bors [Mon, 9 Nov 2015 23:12:46 +0000 (23:12 +0000)]
Auto merge of #2129 - alexcrichton:cargo-rustdoc, r=brson

Along the same lines as `cargo rustc` basically

10 years agoUpdate guide.md
WebTogz [Mon, 9 Nov 2015 19:39:44 +0000 (20:39 +0100)]
Update guide.md

Add a comment to know how to pass arguments via Cargo

10 years agoRebase `cargo rustdoc` and tweak behavior
Alex Crichton [Mon, 9 Nov 2015 16:36:52 +0000 (08:36 -0800)]
Rebase `cargo rustdoc` and tweak behavior

This rebases #1977 onto master and also tweaks the behavior to match `cargo
rustc` when there are multiple targets in play.

10 years agoAdd `cargo rustdoc` for passing arbitrary flags to rustdoc
Manish Goregaokar [Wed, 9 Sep 2015 08:46:43 +0000 (14:16 +0530)]
Add `cargo rustdoc` for passing arbitrary flags to rustdoc

10 years agoAdd dependency header in default Cargo.toml
Johannes Hoff [Sun, 8 Nov 2015 03:36:06 +0000 (19:36 -0800)]
Add dependency header in default Cargo.toml

Almost any project beyond "hello world" will have some dependencies.
Including the `[dependencies]` header by default makes this slightly
simpler.

For new users of the language, this can potentially save some
frustration since crates.io currently does not mention the header, just
the line that goes beneath it.

For all users, this makes adding the first dependency to a project less
of a special case than to subsequent dependencies.

10 years agoAuto merge of #2118 - alexcrichton:update-curl, r=alexcrichton
bors [Thu, 5 Nov 2015 23:43:33 +0000 (23:43 +0000)]
Auto merge of #2118 - alexcrichton:update-curl, r=alexcrichton

This should help continue to mitigate #1420 further

10 years agoUpdate to a curl-rust that doesn't use OpenSSL on OSX
Alex Crichton [Thu, 5 Nov 2015 23:42:22 +0000 (15:42 -0800)]
Update to a curl-rust that doesn't use OpenSSL on OSX

This should help continue to mitigate #1420 further

10 years agoAuto merge of #2115 - alexcrichton:nondeterminism, r=brson
bors [Thu, 5 Nov 2015 17:09:37 +0000 (17:09 +0000)]
Auto merge of #2115 - alexcrichton:nondeterminism, r=brson

These were all exhibiting some nondeterminism which meant that they were failing
tests on CI.

10 years agoRelax some output assertions in tests
Alex Crichton [Thu, 5 Nov 2015 01:09:45 +0000 (17:09 -0800)]
Relax some output assertions in tests

These were all exhibiting some nondeterminism which meant that they were failing
tests on CI.

10 years agoAuto merge of #2114 - alexcrichton:install-relative-path, r=brson
bors [Wed, 4 Nov 2015 22:19:03 +0000 (22:19 +0000)]
Auto merge of #2114 - alexcrichton:install-relative-path, r=brson

Closes #2106

10 years agoFix install `--path` with a relative path
Alex Crichton [Wed, 4 Nov 2015 21:20:53 +0000 (13:20 -0800)]
Fix install `--path` with a relative path

Closes #2106

10 years agoAuto merge of #2113 - alexcrichton:weird-filenames, r=brson
bors [Wed, 4 Nov 2015 21:48:15 +0000 (21:48 +0000)]
Auto merge of #2113 - alexcrichton:weird-filenames, r=brson

This commit is targeted at fixing #2102 via two routes:

1. The dependency on `tar` was upgraded to include more contextual information
   in error messages about why the unpack failed. This should help diagnose
   these sorts of issues that happen in the first place.
2. Packaging crates that have files with odd filenames is no longer allowed.
   An error is returned indicating that the files cannot be packaged as they're
   not cross platform. The currently rejected set of files are non-utf8
   filenames (already present) and those containing characters special on
   Windows.

Closes #2102

10 years agoAdd more safeguards around odd filenames
Alex Crichton [Wed, 4 Nov 2015 21:11:19 +0000 (13:11 -0800)]
Add more safeguards around odd filenames

This commit is targeted at fixing #2102 via two routes:

1. The dependency on `tar` was upgraded to include more contextual information
   in error messages about why the unpack failed. This should help diagnose
   these sorts of issues that happen in the first place.
2. Packaging crates that have files with odd filenames is no longer allowed.
   An error is returned indicating that the files cannot be packaged as they're
   not cross platform. The currently rejected set of files are non-utf8
   filenames (already present) and those containing characters special on
   Windows.

Closes #2102

10 years agoAuto merge of #2091 - winger:master, r=alexcrichton
bors [Tue, 3 Nov 2015 06:54:22 +0000 (06:54 +0000)]
Auto merge of #2091 - winger:master, r=alexcrichton

API changes needed for https://github.com/winger/cargo-metadata external command.
See https://github.com/rust-lang/cargo/pull/1434 for previous discussion.

10 years agoChanges required for cargo-metadata
winger [Thu, 29 Oct 2015 20:05:42 +0000 (13:05 -0700)]
Changes required for cargo-metadata

10 years agoAuto merge of #2103 - takkanm:add_install_help, r=alexcrichton
bors [Tue, 3 Nov 2015 04:01:33 +0000 (04:01 +0000)]
Auto merge of #2103 - takkanm:add_install_help, r=alexcrichton

There was no "install" to help message.

10 years agoadd install help
Mitsutaka Mimura [Mon, 2 Nov 2015 06:58:37 +0000 (15:58 +0900)]
add install help

10 years agoAuto merge of #2104 - mbrubeck:test-doc, r=alexcrichton
bors [Mon, 2 Nov 2015 21:01:58 +0000 (21:01 +0000)]
Auto merge of #2104 - mbrubeck:test-doc, r=alexcrichton

None

10 years agoDocs: Mention the [[example]] section
Matt Brubeck [Mon, 2 Nov 2015 19:33:34 +0000 (11:33 -0800)]
Docs: Mention the [[example]] section

10 years agoExpand documentation on integration tests
Matt Brubeck [Mon, 2 Nov 2015 19:32:26 +0000 (11:32 -0800)]
Expand documentation on integration tests

10 years agoDocs: Clarify what `cargo test` compiles vs. runs
Matt Brubeck [Mon, 2 Nov 2015 19:21:30 +0000 (11:21 -0800)]
Docs: Clarify what `cargo test` compiles vs. runs

10 years agoAuto merge of #2097 - alexcrichton:dont-panic-when-slicing, r=huonw
bors [Sat, 31 Oct 2015 23:56:24 +0000 (23:56 +0000)]
Auto merge of #2097 - alexcrichton:dont-panic-when-slicing, r=huonw

Closes #2094

10 years agoDon't panic when printing the precise source id
Alex Crichton [Sat, 31 Oct 2015 17:03:18 +0000 (10:03 -0700)]
Don't panic when printing the precise source id

Closes #2094

10 years agoAuto merge of #2092 - gkoz:lock_line_endings, r=alexcrichton
bors [Fri, 30 Oct 2015 19:39:46 +0000 (19:39 +0000)]
Auto merge of #2092 - gkoz:lock_line_endings, r=alexcrichton

Before writing the lockfile read the existing one and

 * detect the line endings style, fixes #2076, #1722;
 * compare the contents to avoid redundant overwriting.

10 years agoDetect the line endings convention of Cargo.lock (CRLF or LF) and preserve it
Gleb Kozyrev [Fri, 30 Oct 2015 11:31:14 +0000 (13:31 +0200)]
Detect the line endings convention of Cargo.lock (CRLF or LF) and preserve it

Fixes #2076

10 years agoAvoid overwriting the lockfile if there are no changes
Gleb Kozyrev [Fri, 30 Oct 2015 11:18:19 +0000 (13:18 +0200)]
Avoid overwriting the lockfile if there are no changes

10 years agoAuto merge of #2093 - alexcrichton:bump, r=alexcrichton
bors [Fri, 30 Oct 2015 18:26:01 +0000 (18:26 +0000)]
Auto merge of #2093 - alexcrichton:bump, r=alexcrichton

10 years agoBump to 0.7.0
Alex Crichton [Fri, 30 Oct 2015 18:25:30 +0000 (11:25 -0700)]
Bump to 0.7.0

10 years agoAdd a test for #2076, preservation of line endings style
Gleb Kozyrev [Fri, 30 Oct 2015 10:39:35 +0000 (12:39 +0200)]
Add a test for #2076, preservation of line endings style

10 years agoAuto merge of #2070 - alexcrichton:test-optional, r=brson
bors [Fri, 30 Oct 2015 00:54:15 +0000 (00:54 +0000)]
Auto merge of #2070 - alexcrichton:test-optional, r=brson

Previously a warning was issued if both -p and --features were passed as flags,
and the rationale for this was that if --features modified the activated set of
features in the package selected by -p it would alter Cargo.lock, which is
undesirable as Cargo.lock should be stable.

This commit, however, interprets --features as changing the resolved graph of
the top-level package, and then -p is a query on that resolved graph. This way
the Cargo.lock file never changes and you're allowed to test optional
dependencies.

Closes #2083

10 years agoAuto merge of #2077 - Lechindianer:master, r=alexcrichton
bors [Thu, 22 Oct 2015 21:59:36 +0000 (21:59 +0000)]
Auto merge of #2077 - Lechindianer:master, r=alexcrichton

Just a simple fix

10 years agoFixed typo
Pascal Schmid [Thu, 22 Oct 2015 22:01:31 +0000 (00:01 +0200)]
Fixed typo

10 years agoAuto merge of #2061 - alexcrichton:update, r=alexcrichton
bors [Wed, 21 Oct 2015 20:59:56 +0000 (20:59 +0000)]
Auto merge of #2061 - alexcrichton:update, r=alexcrichton

* Move along the same rails for all dependencies, picking up various small perf,
  build, and portability improvements.
* Update pinned rustc to pick up perf improvements and such
* Tweak expected error message from tests to continue to work

10 years agoUpdate dependencies
Alex Crichton [Mon, 19 Oct 2015 05:20:20 +0000 (22:20 -0700)]
Update dependencies

* Move along the same rails for all dependencies, picking up various small perf,
  build, and portability improvements.
* Update pinned rustc to pick up perf improvements and such
* Tweak expected error message from tests to continue to work

10 years agoAuto merge of #2071 - aarzee:master, r=alexcrichton
bors [Wed, 21 Oct 2015 17:40:44 +0000 (17:40 +0000)]
Auto merge of #2071 - aarzee:master, r=alexcrichton

Whitespace: remove leading newlines; replace lines containing only whitespace with empty lines; replace multiple trailing newlines with a single newline; remove trailing whitespace in lines.

Images: Compress PNG files with zopflipng, JPG files with mozjpeg jpegtran, and GIF files with gifsicle.

This PR was created semiautomatically.

10 years agoAuto merge of #2072 - durka:patch-2, r=alexcrichton
bors [Wed, 21 Oct 2015 17:13:33 +0000 (17:13 +0000)]
Auto merge of #2072 - durka:patch-2, r=alexcrichton

10 years agofix copy/paste error in doc
Alex Burka [Wed, 21 Oct 2015 17:10:31 +0000 (13:10 -0400)]
fix copy/paste error in doc

10 years agoCleanup
Carlos Liam [Wed, 21 Oct 2015 16:57:20 +0000 (12:57 -0400)]
Cleanup

Whitespace: remove leading newlines; replace lines containing only whitespace with empty lines; replace multiple trailing newlines with a single newline; remove trailing whitespace in lines. Images: Compress PNG files with zopflipng, JPG files with mozjpeg jpegtran, and GIF files with gifsicle.

10 years agoAllow testing optional dependencies
Alex Crichton [Wed, 21 Oct 2015 00:19:56 +0000 (17:19 -0700)]
Allow testing optional dependencies

Previously a warning was issued if both -p and --features were passed as flags,
and the rationale for this was that if --features modified the activated set of
features in the package selected by -p it would alter Cargo.lock, which is
undesirable as Cargo.lock should be stable.

This commit, however, interprets --features as changing the resolved graph of
the top-level package, and then -p is a query on that resolved graph. This way
the Cargo.lock file never changes and you're allowed to test optional
dependencies.

10 years agoAuto merge of #2068 - alexcrichton:root-profiles, r=brson
bors [Tue, 20 Oct 2015 22:58:31 +0000 (22:58 +0000)]
Auto merge of #2068 - alexcrichton:root-profiles, r=brson

When testing or building multiple packages via the `-p` argument the root
package's profiles should always be used instead of the sub-package's set of
profiles.

10 years agoAlways use the root package's set of profiles
Alex Crichton [Tue, 20 Oct 2015 22:50:58 +0000 (15:50 -0700)]
Always use the root package's set of profiles

When testing or building multiple packages via the `-p` argument the root
package's profiles should always be used instead of the sub-package's set of
profiles.

10 years agoAuto merge of #2067 - apasel422:spell, r=alexcrichton
bors [Tue, 20 Oct 2015 17:45:22 +0000 (17:45 +0000)]
Auto merge of #2067 - apasel422:spell, r=alexcrichton

10 years agoCorrect spelling in docs
Andrew Paseltiner [Tue, 20 Oct 2015 17:26:16 +0000 (13:26 -0400)]
Correct spelling in docs

10 years agoAuto merge of #2062 - aarzee:master, r=steveklabnik
bors [Mon, 19 Oct 2015 15:21:07 +0000 (15:21 +0000)]
Auto merge of #2062 - aarzee:master, r=steveklabnik

Remove leading newlines; replace lines containing only whitespace with empty lines; replace multiple trailing newlines with a single newline; remove trailing whitespace in lines.

This PR was created semiautomatically.

10 years agoClean whitespace
Carlos Liam [Mon, 19 Oct 2015 15:17:53 +0000 (11:17 -0400)]
Clean whitespace

Remove leading newlines; replace lines containing only whitespace with empty lines; replace multiple trailing newlines with a single newline; remove trailing whitespace in lines

10 years agoAuto merge of #2026 - alexcrichton:cargo-install, r=brson
bors [Mon, 19 Oct 2015 04:44:21 +0000 (04:44 +0000)]
Auto merge of #2026 - alexcrichton:cargo-install, r=brson

This commit is an implementation of [RFC 1200][rfc] which brings two new
subcommands: `cargo install` and `cargo uninstall`. Most of this is a straight
implementation of the RFC, but a few tweaks were made:

* The `-p` or `--package` arguments are no longer needed as you just pass
  `crate` as a bare argument to the command, this means `cargo install foo`
  works and downloads from crates.io by default.
* Some logic around selecting which crate in a multi-crate repo is installed has
  been tweaked slightly, but mostly in the realm of "let's do the thing that
  makes sense" rather than the literal "let's do what's in the RFC".
  Specifically, we don't pick a crate with examples if there are multiple crates
  with binaries (instead an error is generated saying there are multiple binary
  crates).

[rfc]: https://github.com/rust-lang/rfcs/blob/master/text/1200-cargo-install.md

10 years agoFinish implementing `cargo install`
Alex Crichton [Mon, 5 Oct 2015 22:29:15 +0000 (15:29 -0700)]
Finish implementing `cargo install`

This commit is an implementation of [RFC 1200][rfc] which brings two new
subcommands: `cargo install` and `cargo uninstall`. Most of this is a straight
implementation of the RFC, but a few tweaks were made:

* The `-p` or `--package` arguments are no longer needed as you just pass
  `crate` as a bare argument to the command, this means `cargo install foo`
  works and downloads from crates.io by default.
* Some logic around selecting which crate in a multi-crate repo is installed has
  been tweaked slightly, but mostly in the realm of "let's do the thing that
  makes sense" rather than the literal "let's do what's in the RFC".
  Specifically, we don't pick a crate with examples if there are multiple crates
  with binaries (instead an error is generated saying there are multiple binary
  crates).

[rfc]: https://github.com/rust-lang/rfcs/blob/master/text/1200-cargo-install.md

10 years agoBasic work for cargo install
Steve Klabnik [Sun, 22 Feb 2015 23:06:12 +0000 (00:06 +0100)]
Basic work for cargo install

10 years agoAuto merge of #2060 - sorear:broken-links, r=huonw
bors [Sun, 18 Oct 2015 12:37:55 +0000 (12:37 +0000)]
Auto merge of #2060 - sorear:broken-links, r=huonw

The semver documentation doesn't seem to be hosted anywhere at the moment so I made that link point at GitHub.

10 years agoFix broken links in documentation
Stefan O'Rear [Sun, 18 Oct 2015 09:54:13 +0000 (02:54 -0700)]
Fix broken links in documentation

10 years agoAuto merge of #2055 - alexcrichton:rustdoc-race, r=brson
bors [Sat, 17 Oct 2015 00:00:28 +0000 (00:00 +0000)]
Auto merge of #2055 - alexcrichton:rustdoc-race, r=brson

Cargo will run rustdoc concurrently if it can, and rustdoc is instructed to
place output in a central location. Rustdoc itself knows how to handle
concurrent invocations, but it requires that the output location exists for this
to work correctly (as otherwise the rustdoc processes will race to create the
directory). While this may also be fixable upstream, for now just precreate the
doc directory to ensure that rustdoc doesn't race trying to create it.

10 years agoAuto merge of #2053 - gkoz:run_human_error, r=alexcrichton
bors [Fri, 16 Oct 2015 17:44:46 +0000 (17:44 +0000)]
Auto merge of #2053 - gkoz:run_human_error, r=alexcrichton

Closes #1516

10 years agoAuto merge of #2037 - honorabrutroll:master, r=alexcrichton
bors [Fri, 16 Oct 2015 17:22:56 +0000 (17:22 +0000)]
Auto merge of #2037 - honorabrutroll:master, r=alexcrichton

Addresses issue #376 by checking the compilation mode before printing.

10 years agoDifferentiates documentation and compilation in user output
Edward Yang [Sun, 11 Oct 2015 18:33:55 +0000 (13:33 -0500)]
Differentiates documentation and compilation in user output

Fix tests to work with new jobqueue

10 years agoWrap `cargo run` `ProcessError` in `Human` if the exit code is non-zero
Gleb Kozyrev [Wed, 14 Oct 2015 20:08:29 +0000 (23:08 +0300)]
Wrap `cargo run` `ProcessError` in `Human` if the exit code is non-zero

10 years agoPre-create the output doc directory
Alex Crichton [Tue, 13 Oct 2015 17:31:40 +0000 (10:31 -0700)]
Pre-create the output doc directory

Cargo will run rustdoc concurrently if it can, and rustdoc is instructed to
place output in a central location. Rustdoc itself knows how to handle
concurrent invocations, but it requires that the output location exists for this
to work correctly (as otherwise the rustdoc processes will race to create the
directory). While this may also be fixable upstream, for now just precreate the
doc directory to ensure that rustdoc doesn't race trying to create it.

10 years agoClarify the default `cargo run` error message on a non-zero exit code
Gleb Kozyrev [Tue, 13 Oct 2015 00:31:57 +0000 (03:31 +0300)]
Clarify the default `cargo run` error message on a non-zero exit code

The behavior is the same in the default and verbose modes now:
 - the default mode will not suggest re-running with `--verbose`
 - the verbose mode will not print the binary name.

10 years agoAdd `cargo run` exit_code_verbose test
Gleb Kozyrev [Tue, 13 Oct 2015 00:30:44 +0000 (03:30 +0300)]
Add `cargo run` exit_code_verbose test

10 years agoAuto merge of #2052 - rgardner:add-wildcard-end-date-to-faq, r=alexcrichton
bors [Mon, 12 Oct 2015 20:42:41 +0000 (20:42 +0000)]
Auto merge of #2052 - rgardner:add-wildcard-end-date-to-faq, r=alexcrichton

This adds a bolded message to the FAQ clarifying the last date crates.io
will accept crates with wildcard dependencies.

Closes rust-lang/crates.io#200

10 years agoAdd crates.io wildcard end date to FAQ
Robert Gardner [Mon, 12 Oct 2015 16:31:56 +0000 (12:31 -0400)]
Add crates.io wildcard end date to FAQ

This adds a bolded message to the FAQ clarifying the last date crates.io
will accept crates with wildcard dependencies.

Closes rust-lang/crates.io#200

10 years agoAuto merge of #2050 - gkoz:build_cfgs, r=alexcrichton
bors [Mon, 12 Oct 2015 02:00:27 +0000 (02:00 +0000)]
Auto merge of #2050 - gkoz:build_cfgs, r=alexcrichton

Fixes #1980

10 years agoPropagate custom cfg directives to rustdoc, fixes #1980
Gleb Kozyrev [Sat, 10 Oct 2015 14:39:19 +0000 (17:39 +0300)]
Propagate custom cfg directives to rustdoc, fixes #1980

10 years agoStore all cfgs in Compilation instead of features only
Gleb Kozyrev [Sat, 10 Oct 2015 13:11:45 +0000 (16:11 +0300)]
Store all cfgs in Compilation instead of features only

10 years agoAdd features test to cardo doc tests
Gleb Kozyrev [Sat, 10 Oct 2015 14:20:21 +0000 (17:20 +0300)]
Add features test to cardo doc tests

10 years agoAdd tests for passing cfg directives when building tests and rustdoc
Gleb Kozyrev [Fri, 9 Oct 2015 18:37:53 +0000 (21:37 +0300)]
Add tests for passing cfg directives when building tests and rustdoc

Reproduces #1980

10 years agoAuto merge of #2048 - alexcrichton:build-script-fresh, r=brson
bors [Sat, 10 Oct 2015 00:55:14 +0000 (00:55 +0000)]
Auto merge of #2048 - alexcrichton:build-script-fresh, r=brson

This commit causes a recompile to be triggered if the overridden version of a
build script changed since it was last run. Previously this wasn't tracked very
well due to fingerprints not accounting for the right data.

There are a few architectural changes here which were made to prepare for this:

* The unit of work for "running a build script" is now emitted as dependency
  regardless of whether a build script is overridden or not. Previously it was
  omitted if overridden.
* This unit of work has 0 dependencies if it is overridden (as we know the
  output) and otherwise has the normal set of dependencies.
* The fingerprint calculation was updated to recognize when a build script
  execution is overridden and instead consider the overridden value as input to
  the fingerprint. This means that if the overridden values change they will
  trigger a recompile.
* The "prepare a build script to run" step now emits a noop if the execution of
  the build script is overridden.

After putting all that together, this commit ...

Closes #2042

10 years agoFix recompiles where overrides changed
Alex Crichton [Fri, 9 Oct 2015 21:15:25 +0000 (14:15 -0700)]
Fix recompiles where overrides changed

This commit causes a recompile to be triggered if the overridden version of a
build script changed since it was last run. Previously this wasn't tracked very
well due to fingerprints not accounting for the right data.

There are a few architectural changes here which were made to prepare for this:

* The unit of work for "running a build script" is now emitted as dependency
  regardless of whether a build script is overridden or not. Previously it was
  omitted if overridden.
* This unit of work has 0 dependencies if it is overridden (as we know the
  output) and otherwise has the normal set of dependencies.
* The fingerprint calculation was updated to recognize when a build script
  execution is overridden and instead consider the overridden value as input to
  the fingerprint. This means that if the overridden values change they will
  trigger a recompile.
* The "prepare a build script to run" step now emits a noop if the execution of
  the build script is overridden.

After putting all that together, this commit ...

Closes #2042

10 years agoAuto merge of #2046 - gkoz:find_perm, r=alexcrichton
bors [Fri, 9 Oct 2015 20:46:29 +0000 (20:46 +0000)]
Auto merge of #2046 - gkoz:find_perm, r=alexcrichton

This is an improvement of fd781a12 adopted by rustc in https://github.com/rust-lang/rust/commit/f001f9a7
See also #822

10 years agoAuto merge of #2044 - alexcrichton:fingerprint-better, r=brson
bors [Fri, 9 Oct 2015 17:48:30 +0000 (17:48 +0000)]
Auto merge of #2044 - alexcrichton:fingerprint-better, r=brson

This helps diagnose "why did this rebuild" situations so not only the mtime is
known but also the file in question.

10 years agoIgnore `*.py` in `make no-exes`
Gleb Kozyrev [Fri, 9 Oct 2015 17:24:24 +0000 (20:24 +0300)]
Ignore `*.py` in `make no-exes`

10 years agoAuto merge of #2047 - akiss77:makefile-cfg-optimize, r=alexcrichton
bors [Fri, 9 Oct 2015 17:03:44 +0000 (17:03 +0000)]
Auto merge of #2047 - akiss77:makefile-cfg-optimize, r=alexcrichton

Until now, there was a CFG_DISABLE_OPTIMIZE that controlled whether `--release` is passed to cargo during the build, and a CFG_ENABLE_OPTIMIZE that controlled where `make install` (among others) looked for the already built cargo executable. Unfortunately, if none of these were specified, `make all` built a release cargo but `make install` looked for it under `$(CFG_TARGET)/debug` (and aborted with "Please run `make` first"). This patch keeps CFG_DISABLE_OPTIMIZE only and uses it consistently.

10 years agoAuto merge of #2045 - zv:master, r=alexcrichton
bors [Fri, 9 Oct 2015 16:36:30 +0000 (16:36 +0000)]
Auto merge of #2045 - zv:master, r=alexcrichton

This pull request fixes two distinct issues with the `_cargo` compdef:

- Tab-completion should supply `--color=` options (`none`, `auto`, and `always`)
- Updates the deprecated "command scope flags" which now have a single, unambiguous representative variable which provides the appropriate exclusivity between options.

10 years agoFix the usage of CFG_xxxABLE_OPTIMIZE variables in Makefiles
Akos Kiss [Fri, 9 Oct 2015 16:01:13 +0000 (16:01 +0000)]
Fix the usage of CFG_xxxABLE_OPTIMIZE variables in Makefiles

Until now, there was a CFG_DISABLE_OPTIMIZE that controlled whether
`--release` is passed to cargo during the build, and a
CFG_ENABLE_OPTIMIZE that controlled where `make install` (among
others) looked for the already built cargo executable.
Unfortunately, if none of these were specified, `make all` built a
release cargo but `make install` looked for it under
`$(CFG_TARGET)/debug` (and aborted with "Please run `make` first").
This patch keeps CFG_DISABLE_OPTIMIZE only and uses it
consistently.

10 years agoUse the more portable `find -perm` syntax
Gleb Kozyrev [Fri, 9 Oct 2015 14:43:12 +0000 (17:43 +0300)]
Use the more portable `find -perm` syntax

This is an improvement of fd781a12 adopted by rustc in https://github.com/rust-lang/rust/commit/f001f9a7
See also #822

10 years agoMerge branch 'compdef_coloropts'
zv [Fri, 9 Oct 2015 08:04:58 +0000 (01:04 -0700)]
Merge branch 'compdef_coloropts'

* compdef_coloropts:
  zsh compdef should supply color options

10 years agozsh compdef should supply color options
zv [Fri, 9 Oct 2015 07:46:32 +0000 (00:46 -0700)]
zsh compdef should supply color options

ZSH compdef should prompt to complete the options of
--color (auto|always|never)

10 years agoReplace repeat options w/ command_scope_spec spec
zv [Fri, 9 Oct 2015 07:32:41 +0000 (00:32 -0700)]
Replace repeat options w/ command_scope_spec spec

Multiple commands accept these 'command scope specifiers', all of which
have had their argument completion definitions consolidated in this
variable which is expanded into the argument matchspec where appropriate.

10 years ago`_arguments` util. function for build scope specs
zv [Fri, 9 Oct 2015 06:37:06 +0000 (23:37 -0700)]
`_arguments` util. function for build scope specs

Includes a shared and mutally exclusive build scope specifier for:
 * --bin
 * --example
 * --test
 * --lib
 * --bench

10 years agoInclude filename in path fingerprint
Alex Crichton [Fri, 9 Oct 2015 04:30:33 +0000 (21:30 -0700)]
Include filename in path fingerprint

This helps diagnose "why did this rebuild" situations so not only the mtime is
known but also the file in question.

10 years agoAuto merge of #2035 - alexcrichton:optimize-default, r=brson
bors [Thu, 8 Oct 2015 20:33:01 +0000 (20:33 +0000)]
Auto merge of #2035 - alexcrichton:optimize-default, r=brson

This change mirrors the compiler by enabling optimizations by default rather
than by default producing an unoptimized Cargo build. I was curious why #2033
hit a debug assertion when we don't ship any binaries with debug assertions
enabled, but it looked like Cargo was installed via Homebrew which [does not
currently enable optimizations][homebrew]. I'll also send a PR over there, but I
figured it'd be also good to nip this in the bud and just start enabling
optimizations by default.

[homebrew]: https://github.com/Homebrew/homebrew/blob/5d09dd/Library/Formula/rust.rb#L69

10 years agoAuto merge of #2040 - alexcrichton:dedupe, r=brson
bors [Thu, 8 Oct 2015 20:15:13 +0000 (20:15 +0000)]
Auto merge of #2040 - alexcrichton:dedupe, r=brson

I removed this in 68014ab8 thinking it wasn't necessary, which it technically
isn't for correctness but it ends up leading to absurdly long command lines to
the compiler for larger projects. This also changes the `Vec` to be a `BTreeSet`
to have sorting and deduplication as we go along which should be much faster
than waiting to sort until the very end.

10 years agoDon't test SSL errors on OSX
Alex Crichton [Thu, 8 Oct 2015 20:14:14 +0000 (13:14 -0700)]
Don't test SSL errors on OSX

Due to libgit2 perhaps using different frameworks it's a little too onerous to
test there. It's also pretty unlikely that libgit2 is configure to *not* have
SSL on OSX by mistake.

10 years agoAuto merge of #2032 - alexcrichton:output-asap, r=brson
bors [Thu, 8 Oct 2015 18:06:44 +0000 (18:06 +0000)]
Auto merge of #2032 - alexcrichton:output-asap, r=brson

This can help debug some situations if an error happens parsing the output.

10 years agoAuto de-dupe build scripts to link
Alex Crichton [Thu, 8 Oct 2015 06:26:05 +0000 (23:26 -0700)]
Auto de-dupe build scripts to link

I removed this in 68014ab8 thinking it wasn't necessary, which it technically
isn't for correctness but it ends up leading to absurdly long command lines to
the compiler for larger projects. This also changes the `Vec` to be a `BTreeSet`
to have sorting and deduplication as we go along which should be much faster
than waiting to sort until the very end.

10 years agoAuto merge of #2038 - zv:master, r=alexcrichton
bors [Thu, 8 Oct 2015 02:08:10 +0000 (02:08 +0000)]
Auto merge of #2038 - zv:master, r=alexcrichton

The existing zsh completion script refers to deprecated options for initializing a new cargo package with version control (`--(no-)git` & `--hg`). This PR removes these old options and adds a new completion option `--vcs` which accepts either `git`, `hg` or `none` as it's own options.